export default {
  attrs: [{
      name: 'colspan',
      remark: '跨列。在w-grid内使用',
      type: 'Number',
      option: '',
    },
    {
      name: 'rowspan',
      remark: '跨行。在w-grid内使用',
      type: 'Number',
      option: '',
    },
    {
      name: 'height',
      remark: '高度',
      type: 'String / Number',
      option: '*, 百分比, 数值',
    },
    {
      name: 'width',
      remark: '宽度',
      type: 'String / Number',
      option: '*, 百分比, 数值',
    },
  ],
  methods: [{
    name: 'closest(type)',
    remark: '获取符合条件的祖先节点。从当前节点开始，逐级向上级匹配，并返回最先匹配的节点。',
    option: '<var>type</var>: String | Function 组件名称或函数',
    return: 'Widget',
    examples: [{
      remark: '获取wg的类型为w-vertical的祖先节点',
      code: `
      let p = wg.closest('w-vertical')
      `
    }, {
      remark: '用函数往上轮询祖先节点，符合条件时返回true。本例获取结果与上例相同',
      code: `
      let p = wg.closest(n => n.$options.name === 'w-vertical')
      `
    }]
  }, {
    name: 'ajax(options)',
    remark: '发送ajax请求，返回一个Promise对象',
    option: `<div><var>options</var>: {src: String, data: Object}</div>`,
    return: '',
    examples: [{
      remark: '发送ajax请求',
      code: `
      const data = await wg.ajax({src: 'getData.sp', data: {id: '001'}})
      `
    }]
  }, {
    name: 'submit([request], options)',
    remark: '提交当前view的表单数据到服务器，并返回一个Promise对象。如果使用request方法，需自行提交数据，并返回一个Promise对象。',
    option: `<div><var>request(data)</var>: Function</div>
						<div><var>options</var>: {src: String, data: Object, range: String}</div>
						 `,
    return: '',
    examples: [{
      remark: '提交表单',
      code: `
      const data = await wg.submit({src: 'save.sp', data: {id: '001'}})
      `
    }, {
      remark: '自行封装提交方法',
      code: `
      const data = wg.submit((postData) => api.login(postData))
      `
    }]
  }, {
    name: 'pop(template, props, options)',
    remark: '生成一个弹窗',
    option: `<div><var>template</var>: String|VueTemplate 可以用字串格式的内置弹窗对象，如 w-tip w-alert w-confirm w-loading；也可以是import方式引入的vue格式弹窗模板</div>
							<div><var>props</var>: Object 传递给弹窗的参数。</div>
              <div><var>options.mode</var>: <var>multiple</var>(默认值，一个template可开多个实例)</div>
                                            <var>single</var>(一个template只有一个实例，且每次都开新实例)
                                            <var>component</var>(一个template只开一个实例)`,
    return: '',
    examples: [{
      remark: '弹出提示框',
      code: `
      wg.pop('w-alert', {text: '显示内容'}, {mode: 'multiple'})
      `
    }]
  }, {
    name: 'el()',
    remark: '获取DOM对象',
    return: 'dom节点',
    examples: [{
      remark: '获取组件的DOM对象',
      code: `
      let el = this.$refs.myName.el()
      `
    }]
  }, {
    name: 'scrollIntoView([options])',
    remark: '滚动到可视区域',
    option: `
      <div><var>options.x</var>: String 横向位置, <var>left</var><var>center</var><var>right</var><var>auto</var></div>
      <div><var>options.y</var>: String 纵向位置, <var>top</var><var>middle</var><var>bottom</var><var>auto</var></div>
      <div><var>options.success()</var>: Function 滚动结束后调用的方法</div>`,
    return: '',
    examples: [{
      remark: '滚动到可视区域的范例',
      code: `
      this.$refs.myName.scrollIntoView({success: () => console.log('scroll end')})
      `
    }]
  }, ]
}

const compare = {
  name: 'compare',
  remark: '和另一个表单做比较。格式：<var>{mode, target, text, trigger}</var>，可用数组实现多个比较项',
  type: 'Object / Array',
  option: `<div><var>mode</var>: 比较模式，可选: <var>></var><var>>=</var><var><</var><var><=</var><var>==</var></div>
              <div><var>target</var>: 做比较的表单的name</div>
              <div><var>text</var>: 验证提示内容</div>
              <div><var>trigger</var>: 触发条件，可选值: "blur"</div>
            `,
}

export {
  compare
}
